Universal controlling devices, that is, for example, remote controls which are adaptable to issue commands to a multiplicity of appliances of different type and/or manufacture, and the features and functionality provided by such controlling devices are well known in the art. Early universal controlling devices such as, for example, that described in U.S. Pat. No. 4,623,887 were generally “learners,” that is, they were adapted to capture, store, and subsequently play back the command signals of the original equipment remote controls corresponding to the appliances to be controlled. However, the required initial teaching process proved tedious and error prone, and universal controlling devices which included preprogrammed libraries of command codes, such as those described in U.S. Pat. Nos. 4,774,511 or 4,959,810 were introduced to overcome this problem. These universal controlling devices, however, suffer from the potential drawback that an appliance which is responsive to a code which is unknown, i.e., not already present in the preprogrammed library of codes embedded in the device, cannot be controlled.
To alleviate this drawback, multiple methods for upgrading data, software, firmware, etc. of a preprogrammed controlling device (or other device generally) after it has left the factory have been proposed. By way of example, and without limitation, a device may be upgraded by downloading to the device additional command functionality, user interface graphics, appliance command sequences, audio/video content and/or associated metadata, program guide information, firmware/software additions/updates/patches/fixes, weather forecasts, user instructions, transportation time tables, product information, maps, graphics, song lyrics, text, news, stock market information, driving directions, etc. (individually and/or collectively referred to hereinafter as “upgrade data”). Approaches for updating a device may be found in, for example, the aforementioned U.S. Pat. Nos. 4,959,810 or 5,226,077, 5,953,144, 5,537,463, 6,223,348, 7,102,688 or U.S. patent application Ser. Nos. 09/804,623, 09/615,473, and 10/287,389. As will be appreciated, in common with the approaches described in these various references are two requirements for establishing a relationship between a target device, using a target controlling device as an example, and a source of upgrade data: first, a means to connect the controlling device, either directly or indirectly, to the source of upgrade data (which may comprise a direct physical cable as contemplated by Ser. No. 09/804,623; a cable including include electrical signal level conversion as contemplated by U.S. Pat. No. 4,959,810; a wireless transmission system as contemplated by U.S. Pat. No. 5,537,463; a “sneaker net” transfer medium such as contemplated by U.S. Pat. No. 6,223,348; a combination thereof in conjunction with a gateway device to a local or wide area network; or any other suitable means) and second, a means for mutually identifying the upgrade data source and the controlling device to one another as being a qualified provider and recipient, respectively, of the data to be downloaded. This second aspect is critical to ensure, for example, that the controlling device is a legitimate recipient of the upgrade data, that the database from which the upgrade data is drawn is compatible for use with the specific model of controlling device currently connected, that sufficient storage capacity still remains in a controlling device which has been the recipient of previous upgrade data, etc. However, this second aspect is often addressed poorly, if at all, by the prior art discussed above.
Accordingly, a need exists for a system and method to provide upgradeability to a controlling device in a simple manner and with improved mutual identification and authentication of a controlling device and an upgrade data source.